/**
 * For the correct positioning of the placeholder element, the dnd-list and
 * it's children must have position: relative
 */
.portal-menus ul[dnd-list],
.portal-menus ul[dnd-list] > li {
  position: relative;
}

/**
  * The dnd-list should always have a min-height,
  * otherwise you can't drop to it once it's empty
  */
.portal-menus ul[dnd-list] {
  min-height: 42px;
  padding-left: 0px;
}

/**
  * The dndDraggingSource class will be applied to
  * the source element of a drag operation. It makes
  * sense to hide it to give the user the feeling
  * that he's actually moving it.
  */
.portal-menus ul[dnd-list] .dndDraggingSource {
  display: none;
}

/**
  * An element with .dndPlaceholder class will be
  * added to the dnd-list while the user is dragging
  * over it.
  */
.portal-menus ul[dnd-list] .dndPlaceholder {
  display: block;
  background-color: #ddd;
  padding: 10px 15px;
  min-height: 42px;
}

/**
  * The dnd-lists's child elements currently MUST have
  * position: relative. Otherwise we can not determine
  * whether the mouse pointer is in the upper or lower
  * half of the element we are dragging over. In other
  * browsers we can use event.offsetY for this.
  */
.portal-menus ul[dnd-list] li {
  background-color: #fff;
  border: 1px solid #ddd;
  border-top-right-radius: 4px;
  border-top-left-radius: 4px;
  display: block;
  margin-bottom: -1px;
  position: relative;
  /* Disable text selection if item is not draggable */
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -khtml-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}

.portal-menus ul[dnd-list] li dnd-nodrag {
  display: block;
  padding: 10px 15px;
}
.portal-menus .handle {
  cursor: move;
}
